实现：微信端自动登录

前提：必须关注过该公众号，获取到唯一的openID。

步骤：
	1、引入类文件GetInfoController.class.php 【路径；/Application/Weixin/Controller/GetInfoController.class.php】
	2、设置配置项【路径：/Application/Weixin/Conf/config.php】
		<?php
			'APP_ID'=>'wx6fa24506c80f09de',
	  		'APP_SECRET'=>'d9e8740cf8f9f94236239beec2809f75',
	  	?>
	3、打开类文件后，首先修改两个方法的路径。
		index()方法；修改跳转路径的一级域名  $redirect_uri
		callback()方法；header() 的一级域名
	4、最重要的一步处理，需要我们将获取到的数据，进行判断比较，进行下一步的业务逻辑处理（getinfo()方法）。
		<?php
			public function getInfo(){
		        if(isset($_GET['openid'])){
		            $user['openid'] = $_GET['openid'];			//获取openID
		            $user['nickname'] = $_GET['nickname'];		//获取昵称
		            $user['imgurl'] = $_GET['headimgurl'];		//获取头像
		            $user['sex'] = $_GET['sex'];				//获取性别
		            $user['province'] = $_GET['province'];		//获取省份
		            $user['city'] = $_GET['city'];				//获取市
		            $user['country'] = $_GET['country'];		//获取区
		            $user['overdue_time'] = time() + 300 * 24 * 3600;//目前没有用到，这个字段用于判断这个权登录的过期时间，如果超出了这个时间，直接跳到退出方法，让用户进行重新登录。
		            $has = M('wx_user')->where(array('openid' => $user['openid']))->find();
		            //当$has为空时，说明是第一次登录，所有是先将值存入到wx_user表中,然后直接跳到登录页面
		            if (empty($has)) {
		                session('openid',$user['openid']);
		                M('wx_user')->add($user);
		                echo "<script>location.href='".U("Public/login")." '</script>";
		                die();
		            //当$has不为空，且字段work_id为空时，表示，已在微信端登录过，但是安全退出了，所有是直接跳到登录页面
		            }elseif(!empty($has) && empty($has["work_id"])){
		                session('openid',$user['openid']);
		                echo "<script>location.href='".U("Public/login")." '</script>";
		                die();         
		            //当$has不为空，且字段work_id不为空时，说明在微信端登录过，且没有安全退出，可以直接省略登录，直接跳到主页面
		            }elseif(!empty($has) && !empty($has["work_id"])){
		            	$where["mobile"] = $has["work_id"];
	        			$re_user = M("user")->where($where)->find();
	                    session("user",$re_user);	
	                    echo "<script>location.href='".U("Index/index")." '</script>"; //跳转到主页面
		                die();        
		            }
		        }else{
		            echo "<SCRIPT language=JavaScript>alert('没有获取到用户信息！');location.href='javascript:history.go(-1);';</SCRIPT>";
		            echo ' ';
		            exit;
		        }
		    }
	    ?>	
	5、在登录的方法中，需要将字段work_id存入到wx_user表中，并需要将openid存入到user表中
		<?php
			public login(){
				$where['mobile'] = trim(I('mobile'));
				$where['password'] = md5(trim(I('password')));
				$res = M('user')->where($where)->getField('id');
				if($res){
					$data["work_id"] = I("mobile");
					M('wx_user')->where(array('openid'=>$_SESSION['openid']))->save($data);
					$user["openid"] = $_SESSION['openid'] ;
					M($role)->where("id=".$res)->save($user);
					session("user",$user);		//存session的目的是为了在控制器中判断方便，与此处授权没有关系		
					echo "登录成功";
				}else{
					echo "登录失败";
				}
			}
		?>

